Micron Document
Fox's Git Mirrors

Node / rns-mirrors / Reticulum-Go.git / files / pkg / cli / share_instance_regression_test.go

Displaying Raw • Download

pkg/cli/share_instance_regression_test.go 633735d797cc5f5d48cb2e22e8fd7cd743930daf (633735d7) Text, 1.57 KB

// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2024-2026 Quad4.io

package cli

import (
"os"
"path/filepath"
"regexp"
"testing"

"quad4/reticulum-go/pkg/rnsutil"
)

// TestCLIUtilitiesHonorShareInstanceNo locks the rgox/rgopath/rgoprobe interop
// fix: isolated UDP peer configs with share_instance=no must not be overridden
// to attach to a system shared instance (rnsd on :37428).
func TestCLIUtilitiesHonorShareInstanceNo(t *testing.T) {
forceShare := regexp.MustCompile(\\`(?m)^\\s*cfg\\.ShareInstance\\s*=\\s*true\\s*$\\`)
for _, name := range []string{"x.go", "path.go", "probe.go"} {
path := filepath.Join(".", name)
body, err := os.ReadFile(path)
if err != nil {
t.Fatalf("read %s: %v", name, err)
}
if forceShare.Match(body) {
t.Errorf("%s forces cfg.ShareInstance = true (breaks share_instance=no interop configs)", name)
}
}
}

func TestLoadConfigDirPreservesShareInstanceNo(t *testing.T) {
dir := t.TempDir()
cfgPath := filepath.Join(dir, "config")
content := "[reticulum]\\n" +
"enable_transport = yes\\n" +
"share_instance = no\\n" +
"\\n" +
"[interfaces]\\n" +
" [[UDP]]\\n" +
" type = UDPInterface\\n" +
" enabled = yes\\n" +
" listen_ip = 127.0.0.1\\n" +
" listen_port = 0\\n" +
" target_host = 127.0.0.1\\n" +
" target_port = 1\\n"
if err := os.WriteFile(cfgPath, []byte(content), 0o600); err != nil {
t.Fatal(err)
}
cfg, err := rnsutil.LoadConfigDir(dir)
if err != nil {
t.Fatal(err)
}
if cfg.ShareInstance {
t.Fatal("expected ShareInstance=false from share_instance=no")
}
}

Served by rngit 1.5.2 - Generated in 0.02s